iT邦幫忙

2024 iThome 鐵人賽

DAY 16
1
Python

從概念到應用:Python實戰開發學習之旅系列 第 16

[Day15] Python專案實踐周,學習心態的內外武功!? 跟學習目標(六大應用場景)

  • 分享至 

  • xImage
  •  

前言

hi~各位
恭喜脫離了痛苦的前兩周

相信跟者學習的你,一定也有所收穫
今天我會選標題這六大主題(excel處理、爬蟲、Powerbi整合、網頁應用程式、自動化程式、機器學習)

https://ithelp.ithome.com.tw/upload/images/20240930/201210525csuvA6tip.png

主要有幾點考量

  • 給學完程式,不知道從何下手做專案的你起頭
  • 邏輯跟系統的學習專案延伸觀念累加實力
  1. excel 處理: 之所以會選個專案主要有兩點(辦公室最常處理的資料格式、學習很多奇形異狀的資料個式!?)/images/emoticon/emoticon39.gif
  2. 爬蟲處理: 有了資料處理的概念,後我們可以去碰網路世界的資料,學習到一些網路跟辨別資料的判斷(讓你練成資料的火眼金睛!?)。
  3. powerbi整合 : 有了上述資料整理資料擷取兩大能力後我們就可以繼續學習powerbi,把這些整理的資料視覺化出來!
  4. 網頁應用程式開發: 前三大觀念周建立之後,我們就可以嘗試開發一些互動的應用程式,也是現在程師設計師最先學習的web application develop。
  5. 自動化學習 : 其實這個可以排在網頁之前,不過我希望在講解網頁後有一些喘息的空間。主要是讓大家學習,自動執行一些daily operation的學習單元
  6. 機器學習: 這個是一們很深很深很深的學問,除了數學、統計學、演算法要很熟悉以外,還牽扯到各領域專業的結合。不過這邊我是希望讓大家有接觸到實際案例操作的感覺,所以會以預測方法來主軸教學(股票預測阿、速度預測阿之類的...)

除了程式學習
還有roni婆婆媽媽的踢鐵板心得大補帖~/images/emoticon/emoticon06.gif

1. 學習心得侃侃而談

這六大專題看起來眼花撩亂
但是我會幫大家挑好上手
並且都是我們前面學到的技能來處理~

可能有人會問我說? Roni,為什麼前面list跟dict不教/images/emoticon/emoticon05.gif一些示範或是邏輯處理?

我會拉到這章教學最大的主因是- 有東西才有感覺!!
什麼意思?

其實大家有沒有想過許多課程教學都是直接教語法,比如說list的append跟remove
要怎麼處理index之類的
學了眼花撩亂,但是不知道實際作用在哪??

這邊會著重在excel - 資料處理章節 幫大家解決可能身旁同事或合作夥伴給的奇怪格式:

  • 無法用公式
  • 電腦無法處理的格式
  • 想要的資料長在奇怪的地方?
  • 資料格式不對?

但是如果你在處理實際生活案例時,使用的function或是套件
會比起教學時無目標的記憶更有連結

雖然很像在冠心靈雞湯
但大家有沒有發現? 買了很多課程、線上教練、書籍甚至是學了很多學習法(費曼、心智圖、自主學習法、方格筆技術、康乃爾、麥肯錫) 進步幅度都有限?/images/emoticon/emoticon06.gif

其實並不是這些大神在教新名詞賺錢,也不是學習者吸收不良
這些學習法其實都有提到,但是很少歸納重點:

內功心法外武功

內功(比較像是心靈的技巧):

  1. 遺忘曲線: 學習就是在對抗遺忘,所以可以安排自己複習。不過現在這時代如果是工程師,我更建議邏輯演算法要記熟可以定時去回顧或筆記tag來快速review。
  2. 多方連結: 其實大家都有這個經驗,因為我們腦袋瓜是許多神經組成的,越多方法越好。(比如說諧音或是圖像) ,寫程式來說舉一反三或是思考更快速的解題技巧也是訓練多方連結的方法。
  3. 跳脫舒適圈: 人其實待在舒服的環境,可以持續學習,但效果有限。舉例(逼自己參加有限時間的考試,我讓自己在2個月學德文或是1個月內要教出一個coding 小型專案)。這個會激發人在有限時間內抓到重點跟篩選的能力。 作弊小抄也是考驗這種能力的一種(有限時間、空間侷限、填入必考重點) => 但不是要大家作弊辣,只是大家可以思考如果你是作弊的學生? 要怎麼呈現作弊小抄/images/emoticon/emoticon25.gif
  4. 更多投入 : 其實看到這些高手他們都會說一件事,並不是我學很多而是我在這個項目的投入程度很多
    (為什麼會這樣? 如果課本教A,我嘗試做B跟C在混和1~5做各種排列組合會怎樣?)

外功的實作派

這四步驟的學習步驟
https://ithelp.ithome.com.tw/upload/images/20240930/20121052eMZDZ0gOJW.png

  1. 要怎麼解決什麼問題? : (老闆報告、開發專案) => 具體化問題
  2. 使用工具: 我要怎麼實作? : 自已做還是外包? 什麼程式語言?
  3. 有沒有更快速的技巧 : 比如說前面學的,熟練基本套件、模組化分工開發、學找別人的解法?或是前面學到的使用數學公式或向量角度探討演算法加速電腦處理速度。
  4. 完成作品的喜悅 : 完成除了可以減是當下的自我,還可以為更進一步的自己做延伸!

大家可以思考一下我說的內外武功掌握之後再去結合新技術
就會發現學習很快喔~
一起共勉之/images/emoticon/emoticon12.gif

2. 專案實踐周建構

接者回到重點我們要講一下這六個專案的學習流程


https://i.imgur.com/lJQ20mk.png

六個專案學習計劃

專案一:Excel 檔案處理

重點

  • 讀取與寫入 Excel 檔案。
  • 數據清洗與處理。
  • 自動化報告生成。

架構

  1. 安裝必要的庫(如 pandasopenpyxl)。
  2. 讀取 Excel 檔案並轉換為 DataFrame。
  3. 數據處理(過濾、排序、合併)。
  4. 將結果寫入新的 Excel 檔案。

基礎必備知識

  • Python 基本語法。
  • pandas 庫的基本用法。

使用場景

  • 自動化數據分析報告。
  • 數據整理與報表生成。

專案二:爬蟲程式

重點

  • 發送 HTTP 請求。
  • 解析 HTML 並提取數據。
  • 處理 AJAX 載入的數據。

架構

  1. 安裝 requestsBeautifulSoup 庫。
  2. 發送 GET 請求並獲取網頁內容。
  3. 使用 BeautifulSoup 解析 HTML。
  4. 提取所需數據並儲存。

基礎必備知識

  • HTTP 協議基礎。
  • Python 的字串與列表操作。

使用場景

  • 自動化數據收集(如抓取新聞、商品價格等)。
  • 數據分析的前期準備。

專案三:結合 Power BI

重點

  • 數據準備與清洗。
  • 匯出數據至 Power BI。
  • 自動更新報告。

架構

  1. 使用 pandas 處理數據集。
  2. 將處理後的數據匯出為 CSV 或 Excel 格式。
  3. 在 Power BI 中導入數據並創建視覺化報告。

基礎必備知識

  • Power BI 的基本操作。
  • 數據分析與視覺化的基本概念。

使用場景

  • 數據可視化與商業智能報告生成。
  • 定期更新業務報告。

專案四:使用 FastAPI 和 React 開發網頁應用程式

重點

  • 使用 FastAPI 構建高效的 RESTful API。
  • 使用 React 創建動態前端界面。
  • 整合前後端以實現完整的應用功能。

架構

  1. 後端(FastAPI)

    • 安裝 FastAPI 和 Uvicorn。
    • 定義 API 路由(GET、POST、PUT、DELETE)。
    • 數據驗證與序列化(使用 Pydantic)。
    • 整合數據庫(如 SQLite 或 PostgreSQL)。
  2. 前端(React)

    • 安裝 React 和相關庫(如 Axios 用於 HTTP 請求)。
    • 創建組件以顯示和管理數據。
    • 使用 React Router 進行路由管理。
  3. 整合與部署

    • 使用 CORS 設置以允許前端訪問後端 API。
    • 部署後端和前端應用(可選用 Docker 或雲服務)。

基礎必備知識

  • Python 基本語法與異步編程概念。
  • RESTful API 的基本概念。
  • JavaScript 和 React 的基本知識,包括組件、狀態和屬性。

使用場景

  • 開發需要實時數據更新的應用,如任務管理工具或聊天應用。
  • 創建需要與後端進行頻繁交互的單頁應用(SPA)。

web 因為有前端我可能會多1~2篇幅介紹給大家

專案五:自動化

重點

  • 自動化桌面操作與任務調度。
  • 使用 Python 腳本執行重複性任務。

架構

  1. 安裝 pyautoguischedule 庫。
  2. 編寫腳本以模擬鍵盤和滑鼠操作。
  3. 設定定時任務自動執行特定腳本。

基礎必備知識

  • Python 基本語法及函數使用。
  • 操作系統的基本概念(如文件系統)。

使用場景

  • 自動化日常工作流程(如文件整理、報告生成)。
  • 定期執行特定任務(如數據備份)。

專案六:線性回歸模型

重點

  • 理解線性回歸的基本概念與應用。
  • 實作簡單線性回歸模型並進行預測。

架構

  1. 安裝 numpypandasscikit-learn 庫。
  2. 準備數據集並分割為訓練集和測試集。
  3. 使用 scikit-learn 訓練線性回歸模型並進行預測。
  4. 評估模型性能並可視化結果。

基礎必備知識

  • 基本統計學概念(如均值、方差)。
  • Python 的資料處理與可視化技術。

使用場景

  • 預測分析(如房價預測、銷售預測)。
  • 數據科學中的基本建模技術。

六個專案學習重點、優缺點與使用場景

專案類型 學習重點 優點 缺點 使用場景
Excel 檔案處理 讀取、寫入、數據清洗、自動化報告生成 簡單易用,適合數據分析 對大型數據集性能可能較差 自動化數據分析報告,數據整理與報表生成
爬蟲程式 發送請求、解析 HTML、提取數據 可自動化數據收集,靈活性高 可能違反網站的使用條款,需注意法律問題 自動化數據收集(如抓取新聞、商品價格等)
結合 Power BI 數據準備、匯出至 Power BI、自動更新報告 提供強大的可視化功能,便於商業分析 需要學習 Power BI 的操作 數據可視化與商業智能報告生成
使用 FastAPI 和 React 開發網頁應用程式 構建 RESTful API、創建前端界面 高效能,支持異步操作,現代化開發 學習曲線較陡峭,需要掌握多種技術 開發需要實時數據更新的應用,如任務管理工具
自動化 自動化桌面操作、任務調度 提高工作效率,減少重複性工作 可能需要處理不同操作系統的兼容性問題 自動化日常工作流程,如文件整理、報告生成
線性回歸模型 理解線性回歸概念、實作預測模型 簡單易懂,適合入門機器學習 僅適用於線性關係,對於非線性問題效果差 預測分析(如房價預測、銷售預測)

相信在做完這六個專案後~
大家也會變得跟python更麻吉了~!!/images/emoticon/emoticon37.gif

在這實戰周之後,應該會有3~5個篇幅。
在一起跟大家練一下演算法做題技巧小工具分享如何學習


上一篇
[Day14] 第二週 - 進階工程師的開端 - 提升python效能、品質、維護的小技巧
下一篇
[Day16] Python專案 - 表格文件的資料處理與實踐 -(1) 操作檔案的基本功
系列文
從概念到應用:Python實戰開發學習之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言